// 2010年版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式的约束
// 可以在许可证文件中找到的许可证。

// 包rand实现了一个加密安全的
// 随机数发生器。
package rand

import "io"

// Reader是一个全局的、共享的加密数据库实例
// 安全随机数发生器。
// None
// 在Linux和FreeBSD上，Reader使用getrandom（2）（如果可用），否则使用/dev/uradom。
// 在OpenBSD上，阅读器使用getentropy（2）。
// 在其他类似Unix的系统上，读卡器从/dev/uradom读取数据。
// 在Windows系统上，Reader使用RtlGenRandom API。
// 在Wasm上，Reader使用Web加密API。
var Reader io.Reader

// Read是调用Reader.Read的帮助函数，使用io.ReadFull进行读取。
// 返回时，n==len（b）当且仅当err==nil。
func Read(b []byte) (n int, err error) {
	return io.ReadFull(Reader, b)
}
